package util;

import modelo.Condicion;
import modelo.Situacion;

public class ConstructorSituacion {

	public static Situacion getSituacion1() {
		Situacion s1 = new Situacion("S1");

		Condicion bloqueA = new Condicion("bloque");
		bloqueA.setVariableA("A");
		bloqueA.setVariableB(null);

		Condicion bloqueB = new Condicion("bloque");
		bloqueB.setVariableA("B");
		bloqueB.setVariableB(null);

		Condicion bloqueC = new Condicion("bloque");
		bloqueC.setVariableA("C");
		bloqueC.setVariableB(null);

		Condicion baseD = new Condicion("base");
		baseD.setVariableA("D");
		baseD.setVariableB(null);

		Condicion arribaBD = new Condicion("arriba");
		arribaBD.setVariableA("B");
		arribaBD.setVariableB("D");

		Condicion arribaCD = new Condicion("arriba");
		arribaCD.setVariableA("C");
		arribaCD.setVariableB("D");

		Condicion arribaAB = new Condicion("arriba");
		arribaAB.setVariableA("A");
		arribaAB.setVariableB("B");

		Condicion arribaAC = new Condicion("arriba");
		arribaAC.setVariableA("A");
		arribaAC.setVariableB("C");

		s1.agregarCondicion(bloqueA);
		s1.agregarCondicion(bloqueB);
		s1.agregarCondicion(bloqueC);
		s1.agregarCondicion(baseD);
		s1.agregarCondicion(arribaBD);
		s1.agregarCondicion(arribaCD);
		s1.agregarCondicion(arribaAB);
		s1.agregarCondicion(arribaAC);

		return s1;
	}

	public static Situacion getSituacion2() {
		Situacion s2 = new Situacion("S2");

		Condicion bloqueA = new Condicion("bloque");
		bloqueA.setVariableA("A");
		bloqueA.setVariableB(null);

		Condicion bloqueB = new Condicion("bloque");
		bloqueB.setVariableA("B");
		bloqueB.setVariableB(null);

		Condicion bloqueC = new Condicion("bloque");
		bloqueC.setVariableA("C");
		bloqueC.setVariableB(null);

		Condicion baseD = new Condicion("base");
		baseD.setVariableA("D");
		baseD.setVariableB(null);

		Condicion arribaBD = new Condicion("arriba");
		arribaBD.setVariableA("B");
		arribaBD.setVariableB("D");

		Condicion arribaCD = new Condicion("arriba");
		arribaCD.setVariableA("C");
		arribaCD.setVariableB("D");

		Condicion arribaAD = new Condicion("arriba");
		arribaAD.setVariableA("A");
		arribaAD.setVariableB("D");

		Condicion arribaAC = new Condicion("arriba");
		arribaAC.setVariableA("A");
		arribaAC.setVariableB("C");

		s2.agregarCondicion(bloqueA);
		s2.agregarCondicion(bloqueB);
		s2.agregarCondicion(bloqueC);
		s2.agregarCondicion(baseD);
		s2.agregarCondicion(arribaBD);
		s2.agregarCondicion(arribaCD);
		s2.agregarCondicion(arribaAD);
		s2.agregarCondicion(arribaAC);

		return s2;
	}
	
	public static Situacion getSituacion3() {
		Situacion s3 = new Situacion("S3");

		Condicion bloqueB = new Condicion("bloque");
		bloqueB.setVariableA("B");
		bloqueB.setVariableB(null);

		Condicion bloqueC = new Condicion("bloque");
		bloqueC.setVariableA("C");
		bloqueC.setVariableB(null);

		Condicion bloqueD = new Condicion("bloque");
		bloqueD.setVariableA("D");
		bloqueD.setVariableB(null);

		Condicion baseE = new Condicion("base");
		baseE.setVariableA("E");
		baseE.setVariableB(null);		

		Condicion arribaCE = new Condicion("arriba");
		arribaCE.setVariableA("C");
		arribaCE.setVariableB("E");

		Condicion arribaDE = new Condicion("arriba");
		arribaDE.setVariableA("D");
		arribaDE.setVariableB("E");

		Condicion arribaBC = new Condicion("arriba");
		arribaBC.setVariableA("B");
		arribaBC.setVariableB("C");
		
		Condicion arribaBD = new Condicion("arriba");
		arribaBD.setVariableA("B");
		arribaBD.setVariableB("D");		

		s3.agregarCondicion(bloqueB);
		s3.agregarCondicion(bloqueC);
		s3.agregarCondicion(bloqueD);
		s3.agregarCondicion(baseE);
		
		s3.agregarCondicion(arribaCE);
		s3.agregarCondicion(arribaDE);
		s3.agregarCondicion(arribaBC);
		s3.agregarCondicion(arribaBD);

		return s3;
	}

	public static Situacion getSituacion4() {
		Situacion s4 = new Situacion("S4");

		Condicion bloqueB = new Condicion("bloque");
		bloqueB.setVariableA("B");
		bloqueB.setVariableB(null);

		Condicion bloqueC = new Condicion("bloque");
		bloqueC.setVariableA("C");
		bloqueC.setVariableB(null);

		Condicion bloqueD = new Condicion("bloque");
		bloqueD.setVariableA("D");
		bloqueD.setVariableB(null);

		Condicion baseE = new Condicion("base");
		baseE.setVariableA("E");
		baseE.setVariableB(null);		

		Condicion arribaCE = new Condicion("arriba");
		arribaCE.setVariableA("C");
		arribaCE.setVariableB("E");

		Condicion arribaDE = new Condicion("arriba");
		arribaDE.setVariableA("D");
		arribaDE.setVariableB("E");

		Condicion arribaBE = new Condicion("arriba");
		arribaBE.setVariableA("B");
		arribaBE.setVariableB("E");
	
		s4.agregarCondicion(bloqueB);
		s4.agregarCondicion(bloqueC);
		s4.agregarCondicion(bloqueD);
		s4.agregarCondicion(baseE);
		
		s4.agregarCondicion(arribaCE);
		s4.agregarCondicion(arribaDE);
		s4.agregarCondicion(arribaBE);

		return s4;
	}

}
